// app.js
import EventListener from "./utils/EventListener";
wx.bus = new EventListener();
App({
  //在微信小程序中一定要特别注意内存泄漏的问题
  //因为内存泄漏会导致 微信小程序闪退
  //要注意及时清空事件监听/定时器/减少使用无意义的闭包
  /**
   * 小程序生命周期
   *  1.应用生命周期
   *    入口文件 首先调用APP方法
   *  2.页面生命周期
   *    页面js  首先调用Page方法
   *  3.组件生命周期
   *    组件js 首先调用Component方法
   * 
   */
  // 属性	类型	默认值	必填	说明	最低版本
  // onLaunch	function		否	生命周期回调——监听小程序初始化。	
  // onShow	function		否	生命周期回调——监听小程序启动或切前台。	
  // onHide	function		否	生命周期回调——监听小程序切后台。	
  // onError	function		否	错误监听函数。	
  // onPageNotFound	function		否	页面不存在监听函数。	1.9.90
  // onUnhandledRejection	function		否	未处理的 Promise 拒绝事件监听函数。	2.10.0
  // onThemeChange	function		否	监听系统主题变化	2.11.0
  
  //当应用第一次启动就会触发的事件
  onLaunch(){
    //应用生命周期 一般情况下,在这个地方获取用户个人微信信息
    console.log("onLaunch");
    // asd
  },
  //应用被用户看到
  onShow(){
    //页面重置
    //小游戏中 倒计时-->59s 重置
    console.log("onShow")
  },
  //当小程序被隐藏的时候
  onHide(){
    //暂停或者清楚定时器
    console.log("onHide")
  },
  //当应用的代码发生报错
  onError(err){
    //当应用发生错误的时候, 获取错误信息, 传递给后端服务器
    console.log("onError",err)
  },

  //当页面找不到的时候就会触发
  //当应用第一次启动的时候. 如果找不到第一个入口页面 就会被触发
  onPageNotFound(){
    //如果页面不存在了 通过js的方式来重新跳转页面 或者重新导航到第二个首页
    console.log("onPageNotFound")
    wx.navigateTo({
      url: "pages/demo12/demo12",
    })
  },
  //	未处理的 Promise 拒绝事件监听函数
  onUnhandledRejection(){
    // (new Promise()).then(res=>{})
  },
  //	监听系统主题变化
  onThemeChange(){
    //系统主题 当微信切换主题模式的时候 小程序也跟着切换主题
    //微信是支持 sass的声明变量的  globalColor=#ff0000
  },
  globalData: 'I am global data',
  hahaData:"hahaData",
  consoleHaha(){
    console.log("haha")
  },
})